home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / MEMORY / OLD / MEM208SRC / FSLib / h / _swis next >
Text File  |  1992-10-11  |  926b  |  35 lines

  1. #pragma force_top_level
  2. #pragma include_only_once
  3.  
  4. /*Name:    swis.h
  5.   Purpose: Generalised SWI interface
  6.   Author:  (c) Acorn Computers Ltd, 1989
  7.   Version: 2.02 (21-Nov-1991)
  8.   Hacked by BDB to add _INR,_OUTR and to separate off
  9. */
  10.  
  11. #ifndef ___swis_h
  12. #define ___swis_h
  13.  
  14. #ifndef __kernel_h
  15.   #include "kernel.h"
  16. #endif
  17.  
  18. extern int _swi (int swi_no, unsigned int, ...);
  19.  
  20. extern _kernel_oserror *_swix (int swi_no, unsigned int, ...);
  21.  
  22. #define _FLAGS     0x10 /*use with _RETURN() or _OUT()*/
  23. #define _IN(i)     (1U << (i))
  24. #define _INR(i,j)  (~0 << (i) ^ ~0 << (j)+1)
  25. #define _OUT(i)    ((i) != _FLAGS? 1U << 31 - (i): 1U << 21)
  26. #define _OUTR(i,j) (~0U >> (i) ^ ~0U >> (j)+1)
  27. #define _BLOCK(i)  (1U << 11 | (unsigned) (i) << 12)
  28. #define _RETURN(i) ((i) != _FLAGS? (unsigned) (i) << 16: 0xFU << 16)
  29. #define _V         (1U << 28)
  30. #define _C         (1U << 29)
  31. #define _Z         (1U << 30)
  32. #define _N         (1U << 31)
  33.  
  34. #endif
  35.